import axios from "axios";
import { Message } from "element-ui";
import { getLocal, removeLocal } from "@/utils/local.js";
import router from "@/router/index.js";
let _fetch = axios.create({
  baseURL: process.env.VUE_APP_URL,
  withCredentials: true, //允许跨域携带cookice
});
// 添加请求拦截器
_fetch.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么
    // 在请求前加上token
    // console.log(config)//
    config.headers.token = getLocal("token");
    return config;
  },
  function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
_fetch.interceptors.response.use(
  function(response) {
    // 对响应数据做点什么

    if (response.data.code == 200) {
      return response;
    } //如果token错误，或失效，清除token并退出登录
    else if (response.data.code == 206) {
      removeLocal("token");
      Message.error(response.data.message);
      router.push("/login");
      return Promise.reject(response.data.message);
    } else {
      Message.error(response.data.message);
      return Promise.reject(response.data.message);
    }
  },
  function(error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);
export default _fetch;
